package fr.gestproj.service.model;

import javax.faces.application.FacesMessage;

import fr.gestproj.exception.ExceptionFonctionnelle;
import fr.gestproj.facade.AbstractFacade;

public abstract class AbstractServiceControleReferentiel<T, U extends AbstractFacade> {

	private U facade;

	public T editer(T object) throws ExceptionFonctionnelle {
		if (object == null) {
			throw new ExceptionFonctionnelle(FacesMessage.SEVERITY_ERROR, "L'élément ne doit pas être vide");
		}
		return (T) facade.update(object);
	}

	public void supprimer(T object) throws ExceptionFonctionnelle {
		if (object == null) {
			throw new ExceptionFonctionnelle(FacesMessage.SEVERITY_ERROR, "L'élément ne doit pas être vide");
		}
		facade.delete(object);
	}

}
